約 2,991,024 件
https://w.atwiki.jp/dccompwiki/pages/44.html
ソフト名 状態 クリア条件 画像 達成日 達成者 コメント ガイアマスター 決戦!世紀王伝説(01) 学級王ヤマザキ ~ヤマザキ王国大フン争!~(01) カルドセプト セカンド(01) さくらももこ劇場 コジコジ(01) 打開済 メルヘンでGO!GO!を4人で楽しくプレイする。 ○ 2010/02/19 モギロ&月光&KATOKI&スカJ 楽しかったね^^って言うと多分他の人達から抗議が来ると思います。 人生ゲーム for Dreamcast(01) 打開済 わいわいモードを4人でプレイした。 ○ 2010/02/19 モギロ&月光&KATOKI&スカJ 1位KATOKI、2位モギロ、3位月光、4位スカJ(敬称略) 人生は運がすべてということをはっきりとわからせてくれるありがたいゲームでした。 ソニックシャッフル(01) ねっとDEぱら(01) マジック:ザ・ギャザリング(01) 打開済 ラスボス撃破 ○ 2010/01/21 モギロ ラスボスのチート積み込みっぷりに苦戦しすぎて、徒労ロボゲーでした(´д`) あつまれ!ぐるぐる温泉(01) ぐるぐる温泉2(01) ぐるぐる温泉3(01) サクラ大戦オンライン ~帝都の長い日々~(01) 打開済 一通り楽しく遊んだ ○ 2010/01/17 はぐれメタル 昔オンラインで遊んでいた時の事が思い出されて個人的にはすごく楽しめました。 サクラ大戦オンライン ~巴里の優雅な日々~(01) アイドル雀士をつくっちゃおう(01) ジャーマン(01) 対戦ネットギミック カプコン&彩京オールスターズ(01) 打開済 カプコンクミテ&サイキョウクミテ 打開 ○○ 2010/01/19 いわず オートセーブなしでリセットあり 電幻天使対戦麻雀 シャングリラ(01) net@versus 麻雀(01) 日本プロ麻雀連盟公認 徹萬 免許皆伝(01) プロ麻雀 極D(01) 平成麻雀荘(01) 麻雀大会II Special(01) 永世名人3 ~ゲームクリエイター吉村信弘の頭脳~(01) 棋太平GOLD(01) 田中寅彦のウル寅流将棋 居飛車穴熊編(01) net@versus 将棋(01) 森田の最強将棋(01) net@versus リバーシ(01) 真 本格花札(01) net@versus 花札(01) net@versus 囲碁(01) net@versus 五目並べと連珠(01) net@versus チェス(01) ネオ ゴールデンログレス(01)
https://w.atwiki.jp/dslua/pages/210.html
テーブル操作 テーブル(連想配列)となっています。 使用法は、まず table = {} のように変数に空の連想配列を代入する必要があります。 しかし、値を一気に代入することもできます。 例えば、table = {"a", "b", "c"} と書くことができます。 配列のインデックスは、1から始まります。 一般的な使用法は a_table = {} -- 配列の宣言 a_table[1] = "a" -- 配列への代入 a_table[2] = "b" -- 配列への代入 a_table[3] = "c" -- 配列への代入 とか、 a_table = {} -- 配列の宣言 a_table = { "a", "b", "c"} -- 配列への代入 となります。 tebleの区切り文字と連結した文字列を返すのは、table.concat (table [, sep [, i [, j]]])。sep:デフォルト値は空文字列 i :デフォルト値は1、 j:テーブルの長さ a_table = {"1","2","3"} -- 配列 a_txt = table.concat(a_table,",") -- abc_tableを,で区切る abc_txtは1,2,3 tableへのデータ追加は、table.insert (table, [pos,] value)。pos:位置 value:要素 table の位置 pos に要素 value を挿入します。posがないときは一番後ろに挿入します。 a_table = {"a"} -- abc_table[1] = "a" table.insert(a_table, "b") -- abc_table[2] = "b" table.insert(a_table, "c") -- abc_table[3] = "c" table.insert(a_table, 2, "d") -- 2つ目にdを挿入 結果a,d,b,c テーブルに含まれている要素数は、table.maxn (table)。 a_table = { 1, 2, 3} total = table.maxn(a_table) -- totalは3 a_table = { "a", "b", "c", "d", "e"} total = table.maxn(a_table) -- totalは5 tableのデータ削除は、table.remove (table [, pos])。pos:位置 table から位置 pos の要素を取り除きます。 a_table = { 1, 2, 3, 4, 5} table.remove (a_table, 2) -- 配列の中身は1,2,3,4,5 その2つ目を削除。結果1,3,4,5 tableのソートは、table.sort (table [, comp])。comp がない場合は " " 。 指定された順序で その場でソートする。そのため、配列の位置が変化する場合があります。 a_table = { 3, 1, 2} table.sort(a_table) -- a_tableの中身は1,2,3 a_table = { "a", "c", "d", "b", "e"} table.sort(a_table) -- a_tableの中身はa,b,c,d,e テーブルの関数を使用したサンプルプログラム ------------------------------------------ -- テーブルのサンプル table_sample.lua ------------------------------------------ function main() C_Black = color( 0, 0, 0) -- 黒(ブラック) C_White = color(255, 255, 255) -- 白(ホワイト) canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- 普通の使用のサンプル a_table = {} -- 配列の宣言 a_table[1] = "a" -- 配列への代入 a_table[2] = "b" -- 配列への代入 a_table[3] = "c" -- 配列への代入 canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("普通の使用のサンプル", 0, 24, 24, C_Black) for i, value in pairs(a_table) do canvas.drawText( i .. " " .. value, 0, 50 + 24 * i, 24, C_Black) end canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- table.concat b1_table = { 1, 2, 3} -- 配列への代入 b1_txt = table.concat(b1_table,",") -- abc_tableを,で区切る abc_txtは1,2,3 b2 = { "ABC", "TEST", "Lua", "Luarida" } b2_txt = table.concat(b2, ";") -- s = "ABC;TEST;Lua;Luarida" canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText( b1_txt, 0, 24, 24, C_Black) canvas.drawText( b2_txt, 0, 48, 24, C_Black) canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- tableへのデータ追加のサンプル c_table = {} -- 配列の宣言 c_table = {"a"} -- abc_table[1] = "a" table.insert(c_table, "b") -- abc_table[2] = "b" table.insert(c_table, "c") -- abc_table[3] = "c" table.insert(c_table, 2, "d") -- 2つ目にdを挿入 結果a,d,b,c canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("tableへのデータ追加のサンプル", 0, 24, 24, C_Black) for i, value in pairs(c_table) do canvas.drawText( i .. " " .. value, 0, 50 + 24 * i, 24, C_Black) end canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- テーブルに含まれている要素数のサンプル d1_table = { 1, 2, 3} d1_total = table.maxn(d1_table) -- abc_totalは3 d2_table = { "a", "b", "c", "d", "e"} d2_total = table.maxn(d2_table) -- def_totalは5 canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("テーブルに含まれている要素数のサンプル", 0, 24, 24, C_Black) canvas.drawText( d1_total, 0, 50 + 24, 24, C_Black) canvas.drawText( d2_total, 0, 50 + 24 * 2, 24, C_Black) canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- tableのデータ削除のサンプル e_table = { 1, 2, 3, 4, 5} table.remove (e_table, 2) -- 配列の中身は1,2,3,4,5 その2つ目を削除。結果1,3,4,5 canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("tableのデータ削除のサンプル", 0, 24, 24, C_Black) for i, value in pairs(e_table) do canvas.drawText( i .. " " .. value, 0, 50 + 24 * i, 24, C_Black) end canvas.drawText("画面タッチで次のサンプルに進みます。", 10, 280, 24, C_Black) touch(3) -- tableのソートのサンプル f1_table = { 3, 1, 2} table.sort(f1_table) -- abc_tableの中身は1,2,3 f2_table = { "a", "c", "d", "b", "e"} table.sort(f2_table) -- def_tableの中身はa,b,c,d,e canvas.drawCls(C_White) canvas.drawText("テーブルのサンプル", 0, 0, 24, C_Black) canvas.drawText("tableのソートのサンプル", 0, 24, 24, C_Black) for i, value in pairs(f1_table) do canvas.drawText( i .. " " .. value, 0, 50 + 24 * i, 24, C_Black) end for i, value in pairs(f2_table) do canvas.drawText( i .. " " .. value, 0, 50 + 24 * 3 + 24 * i, 24, C_Black) end canvas.drawText("すべてのサンプルの表示が終了しました。", 10, 280, 24, C_Black) canvas.drawText("画面タッチで終了します。", 10, 280 + 24, 24, C_Black) touch(3) end main() 1.tableのサンプルの実行結果です。 2.普通の使用のサンプルの実行結果です。 3.table.concatのサンプルの実行結果です。 4.tableへのデータ追加のサンプルの実行結果です。 5.テーブルに含まれている要素数のサンプルの実行結果です。 6.tableのデータ削除のサンプルの実行結果です。 7.tableのソートのサンプルの実行結果です。 コメント(最大10行) 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/knowledgebase/pages/15.html
EntityFrameworkについて インストール EF5 バックエンドデータベース Code Firstプログラミング サンプルソース DbContext エンティティクラス 型 日付(DateTime) 複合型フィールド 外部関連 モデルの階層化(TPT) 属性 データベースの設定 エンティティの使い方 エンティティの追加 エンティティの削除 LINQを使ったエンティティの検索方法 エンティティのキーから検索 ジェネリックな方法でプロパティにアクセス 関連 関連エンティティの積極的読み込み 関連エンティティの遅延読み込み 遅延読み込み無効化 ライフサイクル EntityState.Add EntityState.Detached ローカルデータ(未コミットデータ) 低レベルSQLの実行 参照 プログラミング EntityFrameworkについて http //msdn.microsoft.com/ja-jp/library/bb386871%28v=vs.90%29.aspx EntityFramework 5 VisualStudio2010とVisualStudio2012に対応。 EntityFramework 5 Beta 2012年3月29日 VisualStudio11に対応。また、VisualStudio2010ではエラーが発生するため、まだ動作しない。 EntityFramework 4.3.1 2012年3月29日 インストール VisualStudioから使用する場合、VisualStudioのExtensionであるNuGetManagerを使います。 VisualStudio2010では拡張機能であるNuGetPackageManagerを導入すれば、VisualStudio内からパッケージの取得・管理を行うことができる。 EF5 NotMapped属性の仕様が変更。 バックエンドデータベース SQL Server Compact 4.0 Microsoft SQL Server Compact 4.0 は、ソフトウェア開発者が ASP.NET Web サイトの構築と Windows デスクトップ アプリケーションの作成に使用できる、無償の埋め込み型データベースです。SQL Server Compact 4.0 はコンパクトで、アプリケーション フォルダー内にバイナリ ファイルをプライベート配置することができ、Visual Studio と WebMatrix を使用してアプリケーションを簡単に開発でき、スキーマとデータを SQL Server にシームレスに移行できます。 Code Firstプログラミング Code Firstプログラミングとは、データベースを使うにあたってのデータ構造をSQLや別のツールを使ってあらかじめ構築することなく、C#のオブジェクト指向プログラミングで定義されたクラスをそのままデータ構造として使うプログラミング方法です。 EntityFrameworksでは使用するクラスを元にデータ構造を構築し、データベースの作成します。 PlainOldなクラスをデータモデルクラスに使用できる(POCOと同じ) CoC(convention over configuration) (Wikipedia 設定より規約) IDEが持つデザイナやXMLによる、マッピング記述が不必要 バックエンドのデータソースとしてSQLServerCEバージョン4.0を使用しています。 サンプルソース namespace Magic.Unicorn { public class Princess IPerson { public int Id { get; set; } public string Name { get; set; } public virtual ICollection Unicorns { get; set; } public virtual ICollection LadiesInWaiting { get; set; } } public class Unicorn { public int Id { get; set; } public string Name { get; set; } [Timestamp] public byte[] Version { get; set; } public int PrincessId { get; set; } // FK for Princess reference public virtual Princess Princess { get; set; } } public class Castle { [Key] public string Name { get; set; } public Location Location { get; set; } public virtual ICollection LadiesInWaiting { get; set; } } [ComplexType] public class Location { public string City { get; set; } public string Kingdom { get; set; } public ImaginaryWorld ImaginaryWorld { get; set; } } [ComplexType] public class ImaginaryWorld { public string Name { get; set; } public string Creator { get; set; } } public class LadyInWaiting IPerson { [Key, Column(Order = 0)] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int PrincessId { get; set; } // FK for Princess reference [Key, Column(Order = 1)] public string CastleName { get; set; } // FK for Castle reference public string FirstName { get; set; } public string Title { get; set; } [NotMapped] public string Name { get { return String.Format( {0} {1} , Title, FirstName); } } public virtual Castle Castle { get; set; } public virtual Princess Princess { get; set; } } public interface IPerson { string Name { get; } } public class UnicornsContext DbContext { public DbSet Unicorns { get; set; } public DbSet Princesses { get; set; } public DbSet LadiesInWaiting { get; set; } public DbSet Castles { get; set; } } public class UnicornsContextInitializer DropCreateDatabaseAlways { protected override void Seed(UnicornsContext context) { var cinderella = new Princess { Name = Cinderella }; var sleepingBeauty = new Princess { Name = Sleeping Beauty }; var snowWhite = new Princess { Name = Snow White }; new List { new Unicorn { Name = Binky , Princess = cinderella }, new Unicorn { Name = Silly , Princess = cinderella }, new Unicorn { Name = Beepy , Princess = sleepingBeauty }, new Unicorn { Name = Creepy , Princess = snowWhite }, //new Unicorn { Name = No Princess } // 外部関連であるPrincessを未設定にはできない。 }.ForEach(u = context.Unicorns.Add(u)); var efCastle = new Castle { Name = The EF Castle , Location = new Location { City = Redmond , Kingdom = Rainier , ImaginaryWorld = new ImaginaryWorld { Name = Magic Unicorn World , Creator = ADO.NET } }, }; new List { new LadyInWaiting { Princess = cinderella, Castle = efCastle, FirstName = Lettice , Title = Countess }, new LadyInWaiting { Princess = sleepingBeauty, Castle = efCastle, FirstName = Ulrika , Title = Lady }, new LadyInWaiting { Princess = snowWhite, Castle = efCastle, FirstName = Yolande , Title = Duchess } }.ForEach(l = context.LadiesInWaiting.Add(l)); } } public class Program { public static void Main(string[] args) { Database.SetInitializer(new UnicornsContextInitializer()); var context = new UnicornsContext(); // Many of the code fragments can be run by inserting them here } } } DbContext DbContextはEntityFrameworkをつかってバックエンドデータベースと関連付けされたDbSetを管理するクラスです。 br DbSetのインスタンスは自動的にDbContext内でオブジェクトが設定されます。このオブジェクトは再設定することはないので、後述のようなGetterプロパティのみを公開したIDbSet型のプロパティを使います。 public class UnicornsContext DbContext { public DbSet Unicorns { get; set; } public DbSet Princesses { get; set; } public DbSet LadiesInWaiting { get; set; } public DbSet Castles { get; set; } } // または、下記のようにIDbSetを使ったプロパティ public class UnicornsContext DbContext { public IDbSet Unicorns { get; set; } public IDbSet Princesses { get; set; } public IDbSet LadiesInWaiting { get; set; } public IDbSet Castles { get; set; } } ContextのDbSetオブジェクトは再設定する必要がないため、Getterプロパティのみ公開するプロパティがもっとも理想です。 Setメソッドは、DbContext.Setメソッドとして実装しており、この関数はDbSet T を返すメソッドです。 public class UnicornsContext DbContext { public IDbSet Unicorns { get { return Set(); } } public IDbSet Princesses { get { return Set(); } } public IDbSet LadiesInWaiting { get { return Set(); } } public IDbSet Castles { get { return Set(); } } } エンティティクラス 型 日付(DateTime) DateTime型のフィールドです。 Nullを指定してもよい場合は、明示的にNull許容型のDataTime型として定義しなければなりません。 public class TestEntity { // Nullは指定できない。 // また、値は必ず設定する必要がある。 public DateTime NotNullDate{get; set;} // Nullは指定可能。 // 値は設定しない場合、自動的にNullになる。 public DateTime? NullDate{get;set;} } NotNullateはNullにすることはできないため、TestEntityのオブジェクトを作成したら必ず有効な値を設定しなければなりません。 複合型フィールド シリアライズ可能なクラスを値型としてEntityFrameworksに認識させることで、1つのテーブルのフィールドとして構築することができます。 次のような場合、CastleクラスのテーブルにはLocationクラスのフィールドが含まれます。 public class Castle { [Key] public string Name { get; set; } public Location Location { get; set; } public virtual ICollection LadiesInWaiting { get; set; } } [ComplexType] public class Location { public string City { get; set; } public string Kingdom { get; set; } public ImaginaryWorld ImaginaryWorld { get; set; } } [ComplexType] public class ImaginaryWorld { public string Name { get; set; } public string Creator { get; set; } } 外部関連 Princessプロパティは自動的にPrincessIdフィールドを外部キーとして外部関連エンティティを構築します。 br Prinsessプロパティで取得できるオブジェクトは、DbContextにより外部キーによって遅延読み込みが発生し、Princessプロパティアクセス時にデータベースから値が取得されエンティティを返します。 public class Unicorn { public int Id { get; set; } public string Name { get; set; } [Timestamp] public byte[] Version { get; set; } public int PrincessId { get; set; } // FK for Princess reference public virtual Princess Princess { get; set; } } 実際のUnicornテーブルのカラムは次のようになります。 int Id byte[] Version int PrincessId モデルの階層化(TPT) http //weblogs.asp.net/manavi/archive/2010/12/28/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-2-table-per-type-tpt.aspx 属性 KeyAttribute[Key] モデルの主キーとなるプロパティを指定する。 StringLengthAttribute[StringLength(XXX)] MaxLengthAttribute[MaxLength(XXX)] string型の場合、フィールドの最大文字数を設定します。MinLengthは未実装? ConcurrencyCheckAttribute[ConcurrencyCheck] データ検証を有効にするプロパティにマークする。 RequiredAttribute[Required] NULLを設定できないプロパティであることをマークする。 TimestampAttribute[Timestamp] タイムスタンプ情報を格納するフィールドであることを指定する。このフィールドはモデルクラスではbyte[]でマッピングします。 ComplexTypeAttribute[ComplexType] モデルに含むことができる複合データクラスである場合に指定する。クラス定義にのみ指定可能。この属性を設定したクラスは、データベースにシリアライズ化されて保存可能となります。ただし、複合データクラスは公開プロパティにプリミティブ型か他の複合データクラスしかメンバ変数に含むことはできません。 ColumnAttribute[Column] TableAttribute[Table] テーブル作成に関する情報を設定する。Nameプロパティは、作成するテーブル名を任意のものに設定します。 InversePropertyAttribute [InverseProperty] ForeignKeyAttribute [ForeignKey] DatabaseGeneratedAttribute [DatabaseGenerated] NotMappedAttribute [NotMapped] データベースの設定 App.configやWeb.configに使用するデータベースの種類などを設定します。 br 設定項目は使用するデータベース毎に異なるため、使用するデータベースのマニュアル等を参考にします。 記述した設定情報は、DbContextのコンストラクタで指定することで使用できます。 public class UnicornsContext DbContext { public UnicornsContext() base( UnicornsCEDatabase ) // または、次のように項目名を指定した記述も可能 // base( name=UnicornsCEDatabase ) { } } エンティティの使い方 エンティティの追加 エンティティのDbSetコレクションに新しいエンティティを追加して、DbContext.SaveChanges()を呼び出すことでデータが保存(アタッチ)されます。 context.Unicorns.Add(new Unicorn { Id = -1 ,Name= bbb }); context.Unicorns.Add(new Unicorn { Name = ccc }); context.SaveChanges(); 注意点として、DbContext.SaveChanges()を呼び出していない状態でも内部的にデータが保存される段階となることを忘れてはいけません。 context.Unicorns.Add(new Unicorn { Id = -1 ,Name= bbb }); context.Unicorns.Add(new Unicorn { Name = ccc }); DumpUnicornTest(context); // 何も出力されない context.SaveChanges(); DumpUnicornTest(context); // 上で追加した2つのUnicornレコードをダンプする また、UnicornはIdがint型となっており、自動的にAutoIncrementが設定されているため、Unicornsに要素を追加した順にIdが割り振られます。 br 上記のようにIdに「-1」という設定できない値や、未設定の場合でも正常な値を割り振ります。この動作はDbContext.SaveChanges()を実行した段階で行われます。 次のコードはDbContext.SaveChanges()を呼び出す前はIDが「-1」のレコードを見つけることができるが、DbContext.SaveChanges()を呼び出した後は見つけることができません。 context.Unicorns.Add(new Unicorn { Id = -1 ,Name= bbb }); var newUnicorn = context.Unicorns.Find(-1); if(newUnicorn != null) { Console.WriteLine( Idが-1のUnicornが存在する ); } context.SaveChanges(); var newUnicorn2 = context.Unicorns.Find(-1); if(newUnicorn2 == null) { Console.WriteLine( UnicornはNULLです ); } Console.WriteLine( newUnicornのID= + newUnicorn.Id); // IDは「-1」ではなく、DbContext.SaveChanges()で割り振られた新しいIDになっている。 エンティティの削除 DbSet.Removeにエンティティを削除するオブジェクトを与えます。 context.Unicorns.Remove(context.Unicorns.Find(1)); LINQを使ったエンティティの検索方法 DbSetはそのままLINQで使用可能なコレクションとして使用できるので、次のようなLINQを記述できます。 var unicorns = from u in context.Unicorns where u.Name.StartsWith( B ) select u; エンティティのキーから検索 エンティティの主キーで検索を行う場合は、取得したいエンティティのDbSet.Findメソッドで行います。 br 複合キーを持つエンティティの場合、モデル定義時に指定したカラムの順番に引数を指定します。 var unicorn = context.Unicorns.Find(3); // ID=3のエンティティを取得する。 var castle = context.Castles.Find( The EF Castle ); // IDが文字列型の場合でも、取得できます。 var lady = context.LadiesInWaiting.Find(3, The EF Castle ); // エンティティが複合キーを定義している場合でも、可変引数を使用することで取得可能。 ジェネリックな方法でプロパティにアクセス var unicorn = context.Unicorns.Find(3); // Read the current value of the Name property string currentName1 = context.Entry(unicorn).Property(u = u.Name).CurrentValue; // 普通に「unicorn.Name」へアクセスする意味と同じ。 Console.WriteLine( Name={0} , currentName1); context.Entry(unicorn).Property(u = u.Name).CurrentValue = Franky ; // Setterも同じ。 // ◆文字列によるプロパティへのアクセスも可能。 object currentName2 = context.Entry(unicorn).Property( Name ).CurrentValue; // Getter呼び出し context.Entry(unicorn).Property( Name ).CurrentValue = Squeaky ; // Setter呼び出し エンティティのプロパティ名を指定しなくても、プロパティの名前や値を巡回できます。 var unicorn = context.Unicorns.Find(3); DbPropertyValues pvals = context.Entry(unicorn).CurrentValues; foreach(var propertyName in pvals.PropertyNames) { // すべてのプロパティをダンプ Console.WriteLine( Property {0} has value {1} , propertyName, pvals[propertyName]); // pvals[propertyName]への代入も可能。 } エンティティにComplexTypeに設定されたクラスを持つフィールドがある場合、次のような方法でアクセスが可能です。 var castle = context.Castles.Find( The EF Castle ); // CastleクラスのLocationプロパティはComplexType属性が設定されたLocationクラス var location = context.Entry(castle) .Property(c = c.Location) .CurrentValue; // locationはLocationオブジェクト var world1 = context.Entry(castle) .Property(c = c.Location.ImaginaryWorld) .CurrentValue; // この呼び出し方法ができるのは、当たり前といえば当たり前。 var world2 = context.Entry(castle) .ComplexProperty(c = c.Location) // ComplexTypeであるLocationにアクセス .Property(l = l.ImaginaryWorld) // Location.ImaginaryWordにアクセス .CurrentValue; // ComplexTypeのプロパティへアクセスする場合は、ComplexPropertyを使う。 // 前項の方法でもImaginaryWorldにアクセスできるので、わざわざComplexPropertyを使う必要はない気もする・・・。 var world3 = context.Entry(castle) .Property( Location.ImaginaryWorld ) .CurrentValue; // プロパティの指定に文字列を使う。もっとも実用的かも。 // ただし、文字列を使ってプロパティのリフレクションを取得しているハズなので、パフォーマンスはよくない。 // ComplexTypeの階層構造を遡って行く事もできる。 var creator1 = context.Entry(castle) .ComplexProperty(c = c.Location) .ComplexProperty(l = l.ImaginaryWorld) .Property(w = w.Creator) .CurrentValue; var creator2 = context.Entry(castle) .Property(c = c.Location.ImaginaryWorld.Creator) .CurrentValue; var creator3 = context.Entry(castle) .Property( Location.ImaginaryWorld.Creator ) .CurrentValue; ComplexTypeを巡回する場合、ComplexTypeはDbPropertyValuesオブジェクトなので、次のような再帰呼び出しでダンプ可能。 public static void WritePropertyValues(string parentPropertyName, DbPropertyValues propertyValues) { foreach (var propertyName in propertyValues.PropertyNames) { var nestedValues = propertyValues[propertyName] as DbPropertyValues; // propertyNameが Location のプロパティはComplexTypeなので、DbPropertyValuesオブジェクトとなる。 if (nestedValues != null) { WritePropertyValues(parentPropertyName + propertyName + . , nestedValues); } else { Console.WriteLine( Property {0}{1} has value {2} , parentPropertyName, propertyName, propertyValues[propertyName]); } } } using (var context = new UnicornsContext()) { var castle = context.Castles.Find( The EF Castle ); WritePropertyValues( , context.Entry(castle).CurrentValues); } 関連 関連エンティティの積極的読み込み Includeを使って外部関連しているプロパティを同時に読み込むことができます。 var princesses1 = context.Princesses .Include(p = p.Unicorns) .ToList(); // Include()を使うと、Pricessの読み込み時に同時に関連するUnicornのを読み込みます。 var princesses2 = context.Princesses .Include( Unicorns ) .ToList(); // Includeにはプロパティ名を文字列で指定することもできる。 もちろん、積極的に外部関連エンティティを読みこまなくても遅延読み込みによってデータが読み込まれます。 関連エンティティの遅延読み込み 外部関連エンティティへのアクセス時にエンティティのデータをデータベースから読み込むことを遅延読み込みといいます。 EntityFrameworksで関連エンティティを遅延読み込み可能にするには、プロパティをvirtualで定義します。 public class Princess { public int Id { get; set; } public string Name { get; set; } public virtual ICollection Unicorns { get; set; } // 遅延読み込み可能 } 遅延読み込み無効化 すべての遅延読み込みが行われなくなります。 public class UnicornsContext DbContext { public UnicornsContext() { this.Configuration.LazyLoadingEnabled = false; } } ライフサイクル EntityState Added IDをまだ持っていないエンティティ。SaveChanges()ではInsert処理が行われ、キーカラムがAutoIncrement属性を持ったテーブルの場合、自動的にIDが作成され割り振られる。 Deleted Detached DbContextで管理されていないエンティティ。 Modified Unchanged DbContextにアタッチ済みのエンティティ。フィールド値の変更がない状態。 Detachedなオブジェクトも、DbSet.Attach()を使ってDbContextにアタッチしたオブジェクトとして使用することが可能です。 br もしくは、直接エンティティのStateをUnchangedに設定する方法が使えます。 var u = new Unicorn { Id = 1, Name = アタッチしました }; Console.WriteLine( Status= + context.Entry(u).State); // Detached context.Unicorns.Attach(u); // 推奨方法 // context.Entry(u).State = EntityState.Unchanged // ↑Stateに直接代入しても同じ効果を得られる。 Console.WriteLine( Status= + context.Entry(u).State); // Unchanged context.SaveChanges(); このとき、SaveChanges()の呼び出しによりId=1のレコードは更新されるため、上記のコードのUnicornはNameが「アタッチしました」に更新されてしまいます。 EntityState.Add このステータスを設定したエンティティは、SaveChanges()で新規レコードとしてテーブルに追加されます。 using (var context = new UnicornsContext()) { var unicorn = new Unicorn { Name = Franky , PrincessId = 1}; context.Entry(unicorn).State = EntityState.Added; // ライフサイクルステータスを「Added」に設定。 //context.Unicors.Add(unicorn); // 内部でStateをEntityState.Addedに設定している。 context.SaveChanges(); // Addedのエンティティを新規データとして処理する } 新規追加しようとするエンティティのキーフィールドに値が入っててもよい。 br キーのフィールド属性がAutoIncrementを設定してある場合は、自動的にIdを設定します。 Idがすでにデータベースに存在する場合、SaveChanges()でエラーが発生します。 using (var context = new UnicornsContext()) { var unicorn = new Unicorn { Id=1, Name = Franky , PrincessId = 1}; // すでに「Id=1」がデータベースに存在するとする。 context.Entry(unicorn).State = EntityState.Added; context.SaveChanges(); // 例外発生 // Id=1がすでにデータベースに存在するので、 // EntityState.Addedを設定したエンティティをテーブルに追加しようとして失敗する。 } EntityState.Detached DbContextで管理していないエンティティはすべてこのステータスとなります。 データベースに存在するキーを設定しても、エンティティのオブジェクトがDbContextで管理されていない(アタッチしていない)ため、EntityState.Detachedとなります。 var u1 = new Unicorn { Name = Toshiva }; Console.WriteLine( Status= + context.Entry(u1).State); // EntityState.Detached var u2 = new Unicorn { Id = 1, Name = LG }; // Id=1はデータベースに存在する Console.WriteLine( Status= + context.Entry(u2).State); // EntityState.Detached DbContextから切り離されたエンティティオブジェクトは外部参照のトラッキングは行いません。 var u1 = context.Unicorns.Find(1); Console.WriteLine(u1.Princess); // Princessを自動的に取得する var u2 = context.Unicorns.Find(2); context.Entity(u2).State = System.Data.EntityState.Detached; Console.WriteLine(u1.Princess); // Princessを自動的に取得できないため、Nullを返す。 ローカルデータ(未コミットデータ) DbContextが管理するエンティティはSaveChangedが呼び出されるまでデータベースに保存されません(永続化されない)。 このような永続化前のDbContextが持つデータをローカルデータと呼びます。 context.Unicorns.Load(); // Unicornすべてを読み込み context.Unicorns.Add(new Unicorn { Name = Linqy }); // 新しいUnicornを追加 // ただし、永続化はまだ行われていない。 context.Unicorns.Remove(context.Unicorns.Find(1)); // Unicornを削除 // ただし、永続化はまだ行われていない。 // ◆ローカルデータのダンプ Console.WriteLine( In Local ); foreach (var unicorn in context.Unicorns.Local) { Console.WriteLine( Found {0} {1} with state {2} , unicorn.Id, unicorn.Name, context.Entry(unicorn).State); } // ◆ 永続化済みデータのダンプ Console.WriteLine( In DbSet query ); foreach (var unicorn in context.Unicorns) { Console.WriteLine( Found {0} {1} with state {2} , unicorn.Id, unicorn.Name, context.Entry(unicorn).State); } In Local Found 0 Linqy with state Added Found 2 Silly with state Unchanged Found 3 Beepy with state Unchanged Found 4 Creepy with state Unchanged In DbSet query Found 1 Binky with state Deleted Found 2 Silly with state Unchanged Found 3 Beepy with state Unchanged Found 4 Creepy with state Unchanged 低レベルSQLの実行 SQLを直接実行することができます。 var unicorns = context.Unicorns.SqlQuery( select * from Unicorns ).ToList(); // Unicornクラスのオブジェクトを取得(エンティティ) var unicornNames = context.Database.SqlQuery( select Name from Unicorns ).ToList(); // エンティティ以外も取得可能。 // この場合、戻り値はstring型を要素に持つコレクションとなる。 context.Database.ExecuteSqlCommand( update Unicorns set Name = Franky where Name = Beepy ); // SELECT以外のSQLはExecuteSqlCommand()を使う。 参照 Using DbContext in EF4.1 EF4.1の使い方。EF4.3でも基本は同じ。 Walkthrough 既存のDBからのマイグレーション方法を解説したブログポスト。
https://w.atwiki.jp/halo3odst/pages/65.html
開発元であるBungieの公式サイト。Bungie.netに登録すると、 Bungieの公式サイトで好みのフィルムやスクリーンショットのDL予約が可能になり簡単にXBOX360にDL出来ますReconアーマーのアンロックも登録しないとできません。 Bungie.netへの登録 メールアドレス/パスワードを忘れた Bungie.netへの登録 1.Bungie.netへアクセス Bungie.netの一番右上にあるSign Inをクリック 2.サインイン あなたのアカウントのメールアドレス・パスワードを入力。 (Xbox.comにサインインする時に入力する物と一緒。) 既にXbox.comにサインインしている人は自動で次に飛びます。 メールアドレスとパスワードを忘れたという方はこちら 3.利用規約 「I consent to bungie.net using my Windows Live ID」 をクリック 4.Bungie.netでのプロフィールを作成 ①Bungie.netで使用する名前、通常は既にゲーマータグの名前が自動で入力されており、変える必要は無い。 ②Bungie.netでの連絡用メールアドレスの登録(主にフォーラムで使用?)、 サインインに使用したアドレス以外でもいいが、覚えやすいように同じ物を使用する事を推奨。 このアドレスは非公開でサイト上では表示されない。 ③ゲーマータグの表示/非表示。Bungie.net上で自分のタグを表示/非表示にする。どちらでもいい。 ④利用規約に同意するのチェックボックスをクリック ⑤アカウント作成ボタンをクリック 5.完了。 以上であなたのゲーマータグはBungie.netとのリンクが完了しました。 登録したはいいけどどこを見たらいいかわからないという方は、 Bungie.netの見方を参考にしてください。 メールアドレス/パスワードを忘れた メールアドレス Xbox360のダッシューボードで自分のアバターが表示されているパネル(ゲームライブラリーの左)を選択 アカウント管理→Windows Live IDを選択 でメールアドレスが表示されます。 パスワード パスワードを忘れた方は、2.サインインの画面の「パスワードを忘れた場合は、ここをクリックしください。」から変更できます。 (※アカウントを作成する時に設定した、秘密の質問の答えが必要)
https://w.atwiki.jp/mboxlist2/pages/31.html
ポーズデータ集 第一弾 http //bowlroll.net/up/dl12275 第二弾 http //bowlroll.net/up/dl12276 第三弾 http //bowlroll.net/up/dl15322 第四弾 http //bowlroll.net/up/dl21931 第五弾 http //bowlroll.net/up/dl36099 パスは動画番号 第六弾 https //bowlroll.net/file/50732 パスは一曲目 第七弾 https //bowlroll.net/file/72236 パスは一曲目をひらがな 第八弾 https //bowlroll.net/file/86778 パスは3曲目のシンガー 第九弾 https //bowlroll.net/file/113396 パスは二曲目原作タイトルの漢字部分をカタカナ7文字で(正式名称)
https://w.atwiki.jp/12kokuki/pages/65.html
ビュー データテーブルに格納される各種登録データを扱いやすくするためのビュー。 2010/09/06 10 52 10
https://w.atwiki.jp/mysqlmemo/pages/20.html
バグ? (DataSetに?)データバインディングされたDataGridViewがあるフォームは、フォームの継承をするとエラーになりVSが落ちる(VS2010)。 どのフレームワークで開発するか フレームワークの選択 プロジェクトのプロパティで選択できる。 Service Packについて 例えばVS2010でFramework 3.5を選択すると、Framework 3.5 SPの意味になるようだ。
https://w.atwiki.jp/mypcmemo/pages/161.html
整理王.NET
https://w.atwiki.jp/stencho/pages/26.html
店舗名 商品名 開放価格 購入客 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国 軽食屋 おにぎり - 山田おじいさん1田中さん2浩太くん2美香ちゃん1雪枝さん2 ターザン3 猪八戒3西王母4 勧進帳3雪姫1 相撲選手3野球選手2 - - - - - たこ焼き - 山田おじいさん2山田おばあさん1美香ちゃん2朱莉さん1 ドン・キホーテ4アリババ1 悟空4 土蛛3 卓球少女3フェンシング選手2 - - - - - お好み焼き - 田中さん1田中夫人2朱莉さん2 マッチ売の少女4白雪姫1アリババ3 二郎神3 梅王丸2 - - - - - - 焼きそば - 山田おばあさん2田中夫人1由希さん1 幼なじみ 嫦娥3 鳴神2 ボクサー1バスケットボール選手1サッカー選手2 - - - - - 唐揚げ 500 浩太くん1 ドン・キホーテ3一休さん3 沙悟浄2托塔天王1 暫1外郎2 テニス選手2 - - - - - イカ焼き 1000 雪枝さん1 白雪姫4忍者1 三蔵法師1太上老君2 髪結いの亭主1 スキーマン4 - - - - - ジャガバター 2500 由希さん2百合さん1 ランプの精霊4クレオパトラ1 鐵扇公主2 揚巻1助六1 サッカー選手1 - - - - - フライドポテト 5000 百合さん2 忍者2 太上老君1 助六2 柔道コーチ3 - - - - - 甘味処 プリン - 山田おじいさん3田中さん4朱莉さん4百合さん3 マッチ売の少女1ドン・キホーテ2白雪姫3死夜子2 悟空3二郎神4 - フェンシング選手1 - - - - - クッキー - 山田おばあさん3田中夫人4浩太くん4雪枝さん3 ドン・キホーテ1ランプの精霊2アリババ2ターザン2 猪八戒4 - 相撲選手4柔道コーチ2 - - - - - ティラミス - 山田おばあさん4田中さん3由希さん3百合さん4 マッチ売の少女2白雪姫2死夜子1 西王母2 鳴神3 ボクサー3 - - - - - オペラ - 山田おじいさん4田中夫人3美香ちゃん4雪枝さん4 ランプの精霊1一休さん2クレオパトラ2 - 揚巻4 卓球少女4スキーマン3 - - - - - ムース 5000 朱莉さん3 死夜子3一休さん1クレオパトラ3 三蔵法師3嫦娥2 揚巻3雪姫2 バスケットボール選手2 - - - - - チーズケーキ 1万 浩太くん3美香ちゃん3 マッチ売の少女3ターザン1忍者3 太上老君3 暫2外郎3 - - - - - - アップルパイ 1.5万 - ランプの精霊3 西王母1托塔天王2 勧進帳2髪結いの亭主2 テニス選手1 - - - - - クリスマスパン 2.5万 由希さん4 - 沙悟浄1 助六3 サッカー選手3 - 呂布4 - - - 店舗名 商品名 開放価格 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国 ペットショップ ウサギ - - ターザン4 猪八戒1二郎神2托塔天王3 - - お地蔵さん4 周瑜1関羽2 一反木綿1 - - ペルシャ猫 - - - 悟空1猪八戒2鐵扇公主3 - - スサノオ3天狗1 - 子泣き爺2ろくろ首2 - - オウム - - アリババ4 三蔵法師2西王母3 - - 稲荷神2アマテラス2羅生門の鬼2 - ぬりかべ4 - - ハスキー 2.5万 - - 悟空2鐵扇公主1 暫4 - 座敷童子3 趙雲4 河童4 - - コリー 5万 - - 嫦娥1太上老君4 - ボクサー4 恵比寿3 張飛3 九尾の狐2 - - ゴールデンレトリーバー 12.5万 - - 二郎神1 雪姫4 - 弁財天3 呂布3 砂かけ婆3 - - サモエド 20万 - - 沙悟浄3 髪結いの亭主4 - - 劉備2貂蝉2 海坊主1 - - パンダ 30万 - - 托塔天王4 - - - - 雪女4 - - 服屋 Tシャツ - - 一休さん4 - 鳴神1梅王丸3 柔道コーチ4 乙姫2座敷童子1 関羽4 砂かけ婆1 - - パーカー - - 忍者4 - 土蛛1 フェンシング選手4 お地蔵さん3天狗4 - ぬりかべ3 - - カジュアルパンツ - - - 沙悟浄4 揚巻2梅王丸1 バスケットボール選手4 弁財天2スサノオ4 呂布1張飛2 九尾の狐4 - - ベスト 2.5万 - - 嫦娥4 土蛛2暫3雪姫3 - アマテラス4 劉備3張飛4 子泣き爺3 - - テニスTシャツ 5万 - - - 勧進帳1 野球選手4 閻魔大王1乙姫4 貂蝉1趙雲3 羅生門の鬼1雪女3 - - ニット 12.5万 - - - 外郎1 テニス選手4 恵比寿2 孔明1司馬懿3 河童1ろくろ首4 - - マフラー 20万 - - - 土蛛4髪結いの亭主3助六4 - 稲荷神4 周瑜4 一反木綿4 - - ジーンズ 30万 - - - 外郎4 - 閻魔大王4 - 海坊主4 - - 店舗名 商品名 開放価格 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国 キャンディショップ ブラックチョコレート - - 死夜子4 - 鳴神4梅王丸4 卓球少女1 お地蔵さん2 趙雲2周瑜3 一反木綿3 - 石田三成2 ペロペロキャンディ - ご近所さん クレオパトラ4 - 勧進帳4 相撲選手1テニス選手3 - 司馬懿1関羽3 海坊主3 - - ミルクチョコレート - - - 三蔵法師4 - 卓球少女2ボクサー2 天狗3アマテラス1 - 九尾の狐1雪女2 - - カラフル飴 2.5万 - - 鐵扇公主4 - 相撲選手2野球選手1 座敷童子4 司馬懿2貂蝉4 河童3 - 織田信長4 グミ 5万 - - - - フェンシング選手3柔道コーチ1スキーマン2 恵比寿4 - 羅生門の鬼3子泣き爺4 - - フルーツキャンディ 12.5万 - - - - 野球選手3スキーマン1 稲荷神3 - ぬりかべ2ろくろ首3 - - チョコビスケット 20万 - - - - バスケットボール選手3 閻魔大王3スサノオ1 劉備4 砂かけ婆4 - - ハイチュー 30万 - - - - サッカー選手4 弁財天1 孔明4 - ファイアーガエル1 - 帽子屋 キャップ - - - - - - お地蔵さん1 - - ヒナモンスター1磁気ロボット3スーパーマン4 織田信長3 ソフト帽 - - - - - - 恵比寿1 - - ロボット刑事3 豊臣秀吉2 テンガロンハット 50万 - - - - - 乙姫1 - - - 明智光秀1武田信玄3 パナマハット 75万 - - - - - 稲荷神1アマテラス3 - - マシン星の王子2 - バケツハット 100万 - - - - - スサノオ2天狗2 - - 火星人2宇宙戦士3ヒナモンスター3 上杉謙信2 麦わら帽子 150万 - - - - - 座敷童子2弁財天4 - - マシン星の王子3ファイアーガエル4 島津義弘1徳川家康2 ハンチング 200万 - - - - - 閻魔大王2 - - 魔法使い2 伊達政宗4 クリスマス帽子 500万 - - - - - 乙姫3 - - - 北条氏康1 店舗名 商品名 開放価格 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国 花屋 サクラ - - - - - - - 関羽1曹操1 - ロボット刑事4 上杉謙信3 ヒマワリ - - - - - - - 趙雲1曹操3 - - 石田三成1織田信長2 チューリップ 50万 - - - - - - 張飛1 - 磁気ロボット2火星人4 島津義弘4 ツツジ 75万 - - - - - - 劉備1曹操4 - - 豊臣秀吉3伊達政宗3 バラ 100万 - - - - - - 呂布2曹操2 - スーパーマン1宇宙戦士4 徳川家康4 コスモス 150万 - - - - - - 孔明2貂蝉3 - 銀河のダンサー3 武田信玄1北条氏康3 ジャスミン 200万 - - - - - - 周揄2 - 銀河のダンサー1ファイアーガエル2 明智光秀2 牡丹 500万 - - - - - - 孔明3司馬懿4 - 魔法使い3 - 靴屋 下駄 - - - - - - - - ぬりかべ1一反木綿2 火星人1磁気ロボット4 - バスケットボールシューズ - - - - - - - - 雪女1 ロボット刑事2 豊臣秀吉4 ウェスタンブーツ 50万 - - - - - - - 子泣爺1九尾狐3 スーパーマン2マシン星の王子4 島津義弘2 キャンバスシューズ 75万 - - - - - - - 砂かけ婆2 宇宙戦士2ヒナモンスター4 徳川家康3石田三成4 ハイキングブーツ 100万 - - - - - - - ろくろ首1 銀河のダンサー4 伊達政宗1 ランニングシューズ 150万 - - - - - - - 河童2 - 武田信玄4明智光秀4 サッカーシューズ 200万 - - - - - - - 海坊主2 魔法使い1 - サンダル 500万 - - - - - - - 羅生門の鬼4 - 北条氏康2 店舗名 商品名 開放価格 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国 デジタルショップ パソコン 0 - - - - - - - - 磁気ロボット1 - コンピュータ 100万 - - - - - - - - ロボット刑事1 - タブレットPC 150万 - - - - - - - - 宇宙戦士1 - ビデオ 200 - - - - - - - - マシン星の王子1ファイアーガエル3 - ゲーム機 250万 - - - - - - - - ヒナモンスター2 上杉謙信4 携帯電話 350万 - - - - - - - - 銀河のダンサー2火星人3 - ブラズマテレビ 500万 - - - - - - - - スーパーマン3 - ホームシアター 1000万 - - - - - - - - 魔法使い4 - ジュエリーショップ ブレスレット 0 - - - - - - - - - 織田信長1 イヤリング 100万 - - - - - - - - - 上杉謙信1 結婚指輪 150万 - - - - - - - - - 豊臣秀吉1 懐中時計 200万 - - - - - - - - - 徳川家康1石田三成3 リング 250万 - - - - - - - - - 武田信玄2 ネックレス 350万 - - - - - - - - - 伊達正宗2島津義弘3 ワンド 500万 - - - - - - - - - 明智光秀3 王冠 1000万 - - - - - - - - - 北条氏康4 店舗名 商品名 開放価格 ご近所さん 幼なじみ 西遊記 歌舞伎 スポーツ 神話 三国志 妖怪 SF 戦国
https://w.atwiki.jp/gw-200/pages/13.html
グッドウィルが創業から2007年4月30日まで、一勤務毎に賃金から天引きしていた200円を「データ装備費」と言う。 【 支払い例 】 支払い例:9 00-17 00の日勤業務で支払われる賃金を6,250(別途交通費1,000円支給)とすると これに掛かる源泉255円を引いた額の5,995円から更にデータ装備費として200円が控除され 賃金は5,795円となる。これに交通費1,000円を加えた6,795円が実際に支払われる額である。 日給-源泉-データ装備費+交通費=支払われる賃金 6,250 - 255 - 200 + 1,000 = 6,995 ※これは東京都内の支店、平均的なDランクの給与を対象に計算しています 【 控除する正当性は? 】 労働基準法 -第24条- 賃金は、通貨で、直接労働者に、その全額を支払わなければならない。 ただし、法令若しくは労働協約に別段の定めがある場合又は厚生労働省令で定める賃金について 確実な支払の方法で厚生労働省令で定めるものによる場合においては、通貨以外のもので支払い また、法令に別段の定めがある場合又は当該事業場の労働者の過半数で組織する労働組合があるときは その労働組合、労働者の過半数で組織する労働組合がないときは労働者の過半数を代表する者との 書面による協定がある場合においては、賃金の一部を控除して支払うことができる。 ここで注目するのは 労働者の過半数で組織する労働組合があるときはその労働組合、労働者の過半数で組織する 労働組合がないときは労働者の過半数を代表する者との書面による協定がある場合においては 賃金の一部を控除して支払うことができる 2007年3月9日にグッドウィルユニオンが結成されるまで、スタッフの労働組合は存在していませんし 過半数を代表する者もおりません。よって、控除するという協定も結んでもいません。 しかし、グッドウィル側は正当な手順を踏んで選出された代表者と労使協定を結んでいると発表した (2005年、各支店の内勤をその支店の代表として勝手に選出していた?) これに関しては、2007年の1月に三田労働基準監督署から行政指導されています グッドウィル 1勤務200円天引き廃止 労働者代表選出も改善(IZA) http //www.iza.ne.jp/news/newsarticle/politics/dompolicy/50139/ 同社では、支店ごとに常勤社員と常勤の登録スタッフから選ばれた労働者代表が、時間外労働や賃金の一定額控除などに関する労使協定を会社側と結んでいる。三田労基署は、約260万人いる登録スタッフの多くが労働者代表の選出手続きに関与していない状態の是正を求めた。 【 データ装備費の使途 】 2007年4月30日までの就業規則にはこう記されている ■福利厚生 同意書に基づき労災、傷害保険、賠償責任保険に加入しておりますので、安心してお仕事を行ってください。 「データ装備費」として勤務ごとに任意に200円を皆様から頂いております。 データ装備費は、皆様個人の所持品として支給するユニフォーム、ヘルメット等の安全装備、情報管理、 万が一の際の十分な補償を得るため、会社で一括加入している障害・物損の民間保険料の一部に充当するものです。 しかし、内部資料によると http //www34.atwiki.jp/gw-200?cmd=upload act=open pageid=1 file=meet001.jpg データ装備費は粗利率に直すと1.4%ほどのインパクトがあります。新規に見積もりを提出する際にはデータ装備費の1.4%を加味した見積もり提出をお願いします。 就業規則にあるような使い方ではなく、会社の売り上げとして計上していたようです。所謂、裏金です。 これが真実だと判明した場合、脱税等の犯罪として取り扱われる可能性も出て来ます。